Mission-Oriented Legacy System Evolution Through Architectural Recovery and Evaluation
نویسندگان
چکیده
A. Introduction: MORALE An important consideration in evolutionary design is to understand what drives the need for change. A common driver is a change in the purpose, or mission, of the system. The MORALE2 project focuses on support for such mission-oriented evolution. There is an unexpected symmetry between requirements analysis, software architecture and reverse engineering that can be exploited to improve the process of mission-driven system evolution. Effective system evolution requires understanding of both the way that an existing system accomplishes its tasks and also the mission-oriented rationale for any changes that feed the evolution. Understanding the higher level structuring, or architecture, of an existing system aids in predicting the impact of change that is mandated by new mission-oriented requirements. We use requirements analysis techniques to suggest what concepts are most useful in understanding how an existing system works and how it should be evolved. We use reverse engineering techniques to extract high level architecture, both in terms of static and dynamic behavior, of legacy systems. The MORALE suite of tools and techniques will harness this symmetry by growing a common model of the architecture for multiple versions of a system or system family. The common model is a basis for assessing the effects of proposed changes and the extent to which legacy code can be reused. The MORALE acronym summarizes our goals: • Mission ORiented: We want the legacy system enhancement process to be driven by the mission to be accomplished rather than by purely technical criteria. Moreover, we want to ascertain the applicability of the old system to the new requirements, thereby avoiding unnecessary work. • Architectural: The most time-consuming and costly alterations to software are those that distort architecture, by which we mean its structure and patterns of component interaction. We want to provide a mechanism for predicting the impact of architectural changes so that the risks of making those changes can be ascertained early in the evolution cycle. • Legacy Evolution: We are concerned with the evolution of legacy systems. The most expensive phase of the software development life cycle is maintenance/enhancement, and the most time consuming part of these activities is analyzing and understanding existing software. We want to provide a cost effective way of analyzing existing software, and once analyzed, extracting those parts of it which can be used in the new version. To accomplish these goals, MORALE is integrating the following innovative technologies. • A mission-directed requirements determination process that, through a systematic process of inquiry and refinement, turns mission-oriented goals into specifications of the desired behav-
منابع مشابه
A Tool Suite for Evolving Legacy Software
Evolving an existing software system is fundamentally different from developing one from scratch. Consequently, tools to support evolution must go beyond traditional development tools. This paper describes the Esprit de Corps Suite (EDCS) of software evolution tools. EDCS supports the Mission Oriented Architectural Legacy Evolution (MORALE) software reengineering process. The paper briefly desc...
متن کاملUsing Feature-Oriented Analysis to Recover Legacy Software Design for Software Evolution
Most design recovery approaches start from analysing source code. Nonetheless, it is very difficult to get adequate design information only depending on source code. Additional available information is required and Feature Oriented Analysis (FOA) is a way to reach this aim. FOA addresses the understanding of features in software systems and defines mechanisms for carrying a feature from the pro...
متن کاملMORALE Mission Oriented Architectural Legacy Evolution - Software Maintenance, 1997. Proceedings., International Conference on
Software evolution is the most costly and time consuming software development activio. Yet software engineering research is predominantly concerned with initial development. MORALE is a development method specifically designed for evolving software. It features an inquiry-based approach to eliciting change requirements, a reverse engineering technique for extracting architectural information fr...
متن کاملMORALE. Mission ORiented Architectural Legacy Evolution
Software evolution is the most costly and time consuming software development activity. Yet software engineering research is predominantly concerned with initial development. MORALE is a development method specifically designed for evolving software. It features an inquiry-based approach to eliciting change requirements, a reverse engineering technique for extracting architectural information f...
متن کاملArchitectural Transformation of Legacy Systems
Based on our approach to convert the architecture of conventionally developed systems to an object-oriented architecture, we present a set of positions concerning architectural transformations of legacy systems. Our claim is, that such a transformation process cannot be conducted in a fully automated way. However, careful division of the transformation work to be done can help to keep the amoun...
متن کامل